home *** CD-ROM | disk | FTP | other *** search
-
- $RCSfile: ErrorCodes.doc $
- Description: Error codes output by the Oberon-A compiler
-
- Created by: fjc (Frank Copeland)
- $Revision: 5.1 $
- $Author: fjc $
- $Date: 1995/01/25 23:37:49 $
- ________________________________________________________________________
-
-
- 1: Undeclared identifier
- 2: Multiply defined identifier
- 3: Illegal character in number
- 4: Illegal character in string
- 5: Identifier does not match procedure name
- 6: Comment not closed
- 10: "=" expected
- 11: Identifier expected
- 13: Type definition starts with incorrect symbol
- 14: Factor starts with incorrect symbol
- 15: Statement starts with incorrect symbol
- 16: Declaration followed by incorrect symbol
- 17: MODULE expected
- 18: Integer constant expected
- 19: "." missing
- 20: "," missing
- 21: ":" missing
- 23: ")" missing
- 24: "]" missing
- 25: "}" missing
- 26: OF missing
- 27: THEN missing
- 28: DO missing
- 29: TO missing
- 30: "(" missing
- 34: ":=" missing
- 35: "," or OF expected
- 39: ";" missing
- 41: END missing
- 44: UNTIL missing
- 46: EXIT not within loop statement
- 47: Object must be global
- 48: Illegally marked identifier
- 49: Forward declared pointer unsatisfied
- 50: Attempting to import self
- 51: Expression should be constant
- 52: Constant not an integer
- 53: Identifier does not denote a type
- 54: Identifier does not denote a record type
- 55: Result type of procedure is not a basic type
- 56: Procedure call of a function
- 57: Assignment to non-variable
- 58: Pointer not bound to record or array type
- 59: Recursive type definition
- 60: Illegal open array parameter
- 61: Wrong type of case label
- 62: Inadmissible type of case label
- 63: Case label defined more than once
- 64: Index out of bounds
- 65: More actual than formal parameters
- 66: Fewer actual than formal parameters
- 67: Element types of actual array and formal open array differ
- 68: Actual parameter corresponding to open array is not an array
- 69: Array bound out of range
- 82: Index out of specified bounds
- 83: Object being indexed is not an array
- 84: Undefined record field
- 85: Dereferenced variable is not a pointer
- 86: Guard or test type is not an extension of variable type
- 87: Guard or test type is not a pointer
- 88: Guarded or tested variable is neither a pointer nor a VAR-parameter record
- 92: x IN y : constant x is out of range (0 <= p < 32)
- 93: Operand of IN not an integer, or not a set
- 94: Set element type is not an integer
- 95: Operand of & is not of type BOOLEAN
- 96: Operand of OR is not of type BOOLEAN
- 97: Operand not applicable to (unary) +
- 98: Operand not applicable to (unary) -
- 99: Operand of ~ is not of type BOOLEAN
- 101: Incompatible operands of dyadic operator
- 102: Operand type inapplicable to *
- 103: Operand type inapplicable to /
- 104: Operand type inapplicable to DIV
- 105: Operand type inapplicable to MOD
- 106: Operand type inapplicable to +
- 107: Operand type inapplicable to -
- 108: Operand type inapplicable to = or #
- 109: Operand type inapplicable to relation
- 110: Arithmetic overflow in constant expression
- 111: Operand is not a type
- 112: Operand inapplicable to (this) function
- 113: Operand is not a variable
- 114: Incompatible assignment
- 115: String too long to be assigned
- 116: Parameter doesn't match
- 117: Number of parameters doesn't match
- 118: Number of parameters doesn't match
- 119: Result type doesn't match
- 120: Procedure is not assignable
- 121: Type of expression following IF, WHILE, UNTIL, or ASSERT is not BOOLEAN
- 122: Called object is not a procedure (or is an interrupt procedure)
- 123: Actual VAR-parameter is not a variable
- 124: Type of actual parameter is not identical with that of formal VAR-parameter
- 125: Type of result expression differs from that of procedure
- 126: Type of case expression is neither INTEGER nor CHAR
- 127: Illegal mode of operand
- 128: Illegal mode of addressed operand
- 130: Forward declared procedure not implemented
- 131: WITH clause does not specify a variable
- 132: LEN not applied to array
- 133: Dimension in LEN too large or negative
- 151: Key inconsistency of imported module
- 152: Incorrect symbol file
- 153: Symbol file of imported module not found
- 154: Object or symbol file not opened (disk full?)
- 156: Generation of new symbol file not allowed
- 157: String in symbol file
- 158: Symbol file tag illegal
- 203: Set element greater than MAX(SET) or less than 0
- 204: Number too large
- 206: Division by zero
- 210: Too much variable space needed
- 213: Buffer for identifiers and strings full
- 215: Too many exit statements
- 216: Not enough registers: simplify expression
- 217: Object is not a register item
- 220: Illegal value of parameter (0 <= p < 15)
- 222: String cannot be exported / too many pointers in a record
- 225: Too many pointer types
- 227: Too many exported procedures
- 228: Too many imported modules
- 229: Too many exported structures
- 230: Too many nested records for import
- 231: Too many constants (strings) in module
- 232: Code buffer overflow
- 234: Type descriptor buffer overflow
- 235: Too many external libraries
- 301: Parameter must be an exportable procedure or procedure variable
- 302: Procedure must be paramaterless and typeless
- 303: Parameter must be a procedure variable
- 304: Library procedure must have a receiver parameter.
- 305: Library procedure receiver cannot be VAR parameter.
- 306: Receiver cannot be an imported type.
- 307: Receiver type must be a pointer type.
- 308: Receiver type must be a record type.
- 309: Receiver type must be a C pointer type.
- 311: Name buffer overflow
- 312: Library procedure cannot be used in this manner
- 313: Global variables too large to zero (> 260kB)
- 314: Union type cannot have a base type
- 315: Control variable of FOR loop must be an integer type
- 316: Start and end values of FOR loop must be integers
- 317: Step value of FOR loop must be non-zero
- 318: Start, end or step value(s) too large for control variable of FOR loop
- 319: Sign of step value is wrong for given start and end values.
- 320: ASSERT (x,n): constant x evaluates to FALSE, should be HALT (n)
- 321: ASSERT (x,n): constant x evaluates to TRUE, statement is meaningless
- 323: Illegal mode in array index calculation
- 324: Cannot alias imported strings > 1 character
- 325: Operations that modify read-only variables are not allowed
- 326: Open arrays are restricted to pointer base types, element types of open arrays and formal parameter types
- 327: CPointers and BPointers to open arrays are not yet implemented
- 328: Control variable must be a simple variable local to the procedure or module
- 329: Integer expression expected
- 330: Type-bound procedure has the same name as a record field
- 331: Redefined procedure must be exported
- 332: Cannot assign a type-bound procedure
- 333: Super-call only allowed for receiver parameter
- 334: Super-call not defined for base type
- 335: Module name too long (limit 26 characters)
- 336: RETURN statement missing in function procedure
- 337: Parameter cannot be a vararg
- 338: Vararg parameter must be the last parameter
- 339: Parameter does not denote a traced pointer or record type
- 340: SYSTEM.NEW cannot be used to allocate this type, use NEW instead
- 341: Formal parameter must include a register specification
- 342: Cannot assign a foreign procedure
- 343: External name (string) expected
- 344: Foreign procedures and LibCalls cannot be forward declared
- 345: Foreign procedure cannot be bound to a type
- 346: Cannot copy open arrays when SaveAllRegs is set
- 347: Illegal character in in-line command
- 348: Unrecognised in-line command
- 349: Pragma or option specifier ["+"|"-"] missing.
- 350: Pragma stack empty
- 351: ELSIF, ELSE or END without matching IF
- 352: Pragmas and options are not interchangeable
- 353: Variable cannot be used as a base for a LibCall
- 354: Illegal value for system flag
- 355: Traced type cannot extend untraced type, and vice-versa
- 356: Untraced record cannot contain traced fields
- 357: Tagged type not allowed
- 358: Options not permitted after MODULE keyword
- 901: Not implemented yet
- 902: Register parameters only allowed in LibCall procedure
- 903: Illegal type for register specification
- 904: Illegal register number
- 905: Parameter type is too big for register
- 906: LibCallSpec only allowed for library procedure
- 907: Function offset must be integer
- 908: Library base variable must be pointer type
- 916: Language extensions not allowed when STANDARD option is OFF
- 917: String constants not allowed when createObj switch is off
- 918: Tagged record types not allowed when createObj switch is off
- 919: Variables not allowed when createObj switch is off
- 920: Procedure or module body not allowed when createObj switch is off
- 921: Cannot import module with object code when createObj switch is off
- 923: Too many search paths specified
- 924: Feature not properly tested
- 925: Underscores in identifiers not permitted when STANDARD option is on
- 951: Internal error -
- 952: attempt to free an unused register
- 953: illegal reference type
- 954: wrong number of operands for opcode
- 955: address alignment error
- 956: branch too large
- 957: addressing mode error
- 958: data size error
- 959: error in operand
- 960: illegal reference size specified
- 961: block length must be a constant
- 962: patching past end of code buffer
- 963: addressing string not in constant buffer
- 964: no pointer to open array descriptor
- 965: reference name missing
- 966: type-bound procedure missing
- 967: dereferencing NIL pointer
- 968: procedure return overlaps allocated registers
- 1001: Internal error - unrecognised case in CASE statement:
- 1002: OCS.Get
- 1003: OCT.Import / CASE obj.typ.form
- 1004: OCT.Import / CASE class (far inner)
- 1005: OCT.Import / CASE class (inner)
- 1006: OCT.Import / CASE class (outer)
- 1007: OCT.OutStr
- 1008: OCT.OutObj
- 1009: OCC.PutArg
- 1010: OCE.RealMath
- 1011: OCE.MOp
- 1012: OCE.CheckOverflow
- 1013: OCE.Op / CASE f
- 1014: OCE.Op / CASE op
- 1015: OCP.StPar1
- 1016: OCP.StPar2
- 1017: OCH.Assign
-
-